#ifndef BASEMODEL_SERVER_NOTIFY_H
#define BASEMODEL_SERVER_NOTIFY_H

#include "../common.h"

// 最大载荷大小定义
#define MAX_PAYLOAD_SIZE 1024

// JSON-RPC通知载荷
typedef struct {
    jsonrpc_version_t jsonrpc;  // JSON-RPC协议版本，固定为JSONRPC_VERSION_2_0
    method_t method;            // 通知方法名，如"notifications/initialized"
    bool has_params;            // 是否包含参数
    char params[MAX_PAYLOAD_SIZE]; // 可选的通知参数（JSON字符串格式）
} payload_t;

// MCP初始化完成通知消息
typedef struct {
    msg_type_t type;            // 消息类型，固定为MSG_TYPE_MCP
    session_id_t session_id;    // 会话ID
    payload_t payload;          // JSON-RPC载荷
} mcp_initialized_notify_t;

// MCP取消操作通知消息
typedef struct {
    msg_type_t type;            // 消息类型，固定为MSG_TYPE_MCP
    session_id_t session_id;    // 会话ID
    char payload[MAX_PAYLOAD_SIZE]; // JSON-RPC载荷（字符串格式）
} mcp_cancelled_notify_t;

#endif // BASEMODEL_SERVER_NOTIFY_H
